module.exports = {
  publicPath: './',

  pwa: {
    iconPaths: {
      favicon32     : 'favicon.ico',
      favicon16     : 'favicon.ico',
      appleTouchIcon: 'favicon.ico',
      maskIcon      : 'favicon.ico',
      msTileImage   : 'favicon.ico'
    }
  },
  //chainWebpack自定义打包入口
  chainWebpack: config => {
    //如是是production就是发布模式，则打包入口是main-prod.js
    config.when(process.env.NODE_ENV === "production", config => {
      config
        .entry("app")
        .clear()
        .add("./src/main-prod.js");
      //通过externals加载外部CDN
      config.set("externals", {
        vue: "Vue",
        "vue-router": "VueRouter",
        axios: "axios",
        lodash: "_",
        echarts: "echarts",
        nprogress: "NProgress",
        "vue-quill-editor": "VueQuillEditor"
      });
      //不同的打包环境下，首页内容可能会有所不同。我们可以通过插件的方式进行定制，插件配置如 ：
      config.plugin("html").tap(args => {
        args[0].isProd = true;
        return args;
      });
      
    });
    //如是是development就是开发模式，则打包入口是main-dev.js
    config.when(process.env.NODE_ENV === "development", config => {
      config
        .entry("app")
        .clear()
        .add("./src/main-dev.js");
     //不同的打包环境下，首页内容可能会有所不同。我们可以通过插件的方式进行定制，插件配置如 ：
      config.plugin("html").tap(args => {
        args[0].isProd = false;
        return args;
      });
    });
  }
};
